home *** CD-ROM | disk | FTP | other *** search
/ Floppyshop 2 / Floppyshop - 2.zip / Floppyshop - 2.iso / diskmags / 0022-3.564 / dmg-0139 / news.txt / hardware.asc < prev    next >
Text File  |  1997-04-16  |  67KB  |  1,526 lines

  1.                   Engineering Hardware Specification 
  2.                                 of the 
  3.                         Atari ST Computer System 
  4.  
  5.                          The Atari Corporation 
  6.  
  7.                          Sunnyvale, California 
  8.  
  9.                                   
  10.   
  11.  
  12.  
  13.  
  14.    THE SCOPE OF THIS DOCUMENT is limited to a  description of the 
  15. ST   computer   system  hardware   characteristics  and  idiosyn-
  16. crasies.  This document does not provide  a  detailed description 
  17. of ST component parts, peripheral devices, dev- ice protocols, or 
  18. software.   References  are  provided  for detailed inquiry.
  19.  
  20.                     1.   System  Architecture 
  21.  
  22.  
  23.                    ----------                    ---------- 
  24.                   |Graphics  |                  |Music     | 
  25.                   |Subsystem |                  |Subsystem | 
  26.                    ----------                    ---------- 
  27.                         |                            | 
  28.                         |         ----------         | 
  29.                          --------| Main     |-------- 
  30.                                  | System   | 
  31.                                   ---------- 
  32.                                        | 
  33.                                        |         ---------- 
  34.                   The ST                --------|Device    | 
  35.                                                 |Subsystems| 
  36.                                                  ---------- 
  37.  
  38.    The  hardware  architecture  of  the  Atari   Corporation   ST 
  39. (Sixteen/Thirty-two) computer system consists of a main sys- tem, 
  40. a graphics subsystem,  a music  subsystem,   and  several  device 
  41. subsystems  (most  of the device subsystems require  ST  resident 
  42. intelligence).   The ST is based on the  MC68000  16 bit  data/24 
  43. bit  address  microprocessor  unit  capable of directly accessing 
  44. up to 16 Mbytes of ROM  and  RAM  memory.
  45.  
  46.       Hardware features of the ST computer system include:
  47.  
  48.  Main System 
  49.    o  16 bit data/24 bit address 8 MHz microprocessor unit 
  50.    o  192 Kbyte ROM, cartridge expandable to 320 Kbyte 
  51.    o  512 Kbyte RAM or 1 Mbyte RAM 
  52.    o  direct memory access support 
  53.  
  54. Graphics Subsystem 
  55.    o  32 Kbyte BitMap video display memory (from above) 
  56.    o  320 x 200 pixel, 16 color palette from 512 selections 
  57.    o  640 x 200 pixel, 4 color palette from 512 selections 
  58.    o  640 x 400 pixel, monochrome 
  59.  
  60. Music Subsystem 
  61.    o  programmable sound synthesizer 
  62.    o  musical instrument network communication 
  63.   
  64.  
  65. Device Subsystems 
  66.    o  intelligent keyboard 
  67.    o  two button mouse 
  68.    o  RGB color and monochrome monitor interfaces 
  69.    o  printer parallel interface 
  70.    o  RS232 serial interface 
  71.    o  MIDI musical instrument interface 
  72.    o  on board floppy disk controller and DMA interface 
  73.    o  hard disk drive DMA interface 
  74.  
  75.  
  76. ----- Atari ST System Block Diagram --------------- 
  77.  
  78.     ------------ 
  79.    | MC68000 MPU| 
  80.    |            |    
  81.     ------------     
  82.          |                           ---------- 
  83.          |<------------------------>|192 Kbyte |<--->EXPAN 
  84. ---------|------------------------->| ROM      | 
  85.          |         |                           ---------- 
  86.          |         |                           ---------- 
  87.          |         |                          |512K or 1M| 
  88.          |         |                       -->| byte RAM |<-- 
  89.  ----------        |        ----------    |    ----------    | 
  90. | Control  |<----->|<----->| Memory   |<--                   | 
  91. | Logic    |-------|------>|Controller|<--                   | 
  92.  ----------        |        ----------    |    ----------    | 
  93.   |||||            |        ----------     -->| Video    |<--  RF MOD 
  94.   |||||            |<----->| Buffers  |<----->| Shifter  |---->RGB 
  95.   |||||            |       |          |        ----------      MONO 
  96.   |||||            |        ---------- 
  97.   |||||            |        ----------         ---------- 
  98.   |||||            |<----->| MC6850   |<----->| Keyboard |<--->IKBD 
  99.   |||| ------------|------>| ACIA     |       | Port     | 
  100.   ||||             |        ----------         ---------- 
  101.   ||||             |        ----------         ---------- 
  102.   ||||             |<----->| MC6850   |<----->| MIDI     |---->OUT/THRU 
  103.   ||| -------------|------>| ACIA     |       | Ports    |<----IN 
  104.   |||              |        ----------         ---------- 
  105.   |||              |        ----------         ---------- 
  106.   |||              |<----->| MK68901  |<----->| RS232    |<--->MODEM 
  107.   || --------------|------>| MFP      |<--    | Port     | 
  108.   ||               |        ----------    |    ---------- 
  109.   ||               |                      |    ---------- 
  110.   ||               |                       ---| Parallel |<--->PRINTER 
  111.   ||               |                       -->| Port     | 
  112.   ||               |        ----------    |    ---------- 
  113.   ||               |<----->| YM-2149  |<--     ---------- 
  114.   | ---------------|------>| PSG      |------>| Sound    |---->AUDIO 
  115.   |                |       |          |---    | Channels | 
  116.   |                |        ----------    |    ---------- 
  117.   |                |                      |    ---------- 
  118.   |                |        ----------     -->| Floppy   |<--->FLOPPY 
  119.   |                |<------| WD1772   |<----->|Disk Port |     DRIVE 
  120.   |                |    -->| FDC      |        ---------- 
  121.   |                |   |    ---------- 
  122.   |                |   |    ----------         ---------- 
  123.   |                |    -->| DMA      |<----->|Hard Disk |<--->HARD 
  124.   |                |<----->|Controller|       | Port     |     DRIVE 
  125.    ----------------------->|          |        ---------- 
  126.                             ---------- 
  127.  
  128.           2.  Main  System 
  129.  
  130.  
  131.                    ----------                    ---------- 
  132.                   |          |                  |          | 
  133.                   |          |                  |          | 
  134.                    ----------                    ---------- 
  135.                         |                            | 
  136.                         |         ----------         | 
  137.                          --------| Main     |-------- 
  138.                                  | System   | 
  139.                                   ---------- 
  140.                                        | 
  141.                                        |         ---------- 
  142.                                         --------|          | 
  143.                                                 |          | 
  144.                                                  ---------- 
  145.  
  146.    The main system includes the microprocessor unit,  main memory 
  147. (both   ROM  and  RAM),   and general purpose DMA  con-  troller. 
  148. The  main  system  is  limited  to  memory   expansion  only  and 
  149. should  not  be considered an open system (except  via  the  high 
  150. speed device interfaces).
  151.  
  152.                    2.1.   Microprocessor  Unit 
  153.  
  154.    The  ST computer system is based on an 8 MHz MC68000   16  bit 
  155. data/24  bit address microprocessor unit (with an inter-  nal  32 
  156. bit architecture).   Some features of the MC68000 are:  eight  32 
  157. bit  data registers,  nine 32 bit address registers,  a 16  Mbyte 
  158. direct addressing  range,   14  addressing  modes, memory  mapped 
  159. I/O,   five  data types,  and a 56 instruction set.   The MPU  is 
  160. directly   supported  by  an  MK68901  Multi Function  Peripheral 
  161. providing general purpose interrupt con- trol and  timers,  among 
  162. other things.
  163.  
  164.                    2.2.  Memory  Configuration 
  165.  
  166.    The configuration of main memory consists  of  five  64  Kbyte 
  167. sets of ROM (standard set0 to set2,  expansion set3 and set4) and 
  168. one  configurable  bank  (standard  bank0)  of   128  Kbyte,  512 
  169. Kbyte,  or 2 Mbyte RAM.   The configuration of main memory ROM is 
  170. ascertained through  software  identification.
  171.           
  172.    The   configuration  of  main  memory RAM is achieved via  the 
  173. programming    of    the    Memory     Configuration     Register 
  174. (read/write,   reset:   all  zeros).   RAM configuration must  be 
  175. asserted during the first steps of the power up sequence and  can 
  176. be  determined by using the following shadow test algo- rithm:
  177.   
  178. START   o  write 0x000a (2 Mbyte, 2 Mbyte) to the Memory 
  179.            Configuration Register.
  180.  
  181. BANK0   o  write Pattern to 0x000000 - 0x0001ff.
  182.         o  read Pattern from 0x000200 - 0x0003ff.
  183.         o  if Match, then Bank0 contains 128 Kbyte; goto BANK1.
  184.         o  read Pattern from 0x000400 - 0x0005ff.
  185.         o  if Match, then Bank0 contains 512 Kbyte; goto BANK1.
  186.         o  read Pattern from 0x000000 - 0x0001ff.
  187.         o  if Match, then Bank0 contains 2 Mbyte; goto BANK1.
  188.         o  panic:  RAM error in Bank0.
  189.  
  190. BANK1   o  write Pattern to 0x200000 - 0x2001ff.
  191.         o  read Pattern from 0x200200 - 0x2003ff.
  192.         o  if Match, then Bank1 contains 128 Kbyte; goto FIN.
  193.         o  read Pattern from 0x200400 - 0x2005ff.
  194.         o  if Match, then Bank1 contains 512 Kbyte; goto FIN.
  195.         o  read Pattern from 0x200000 - 0x2001ff.
  196.         o  if Match, then Bank1 contains 2 Mbyte; goto FIN.
  197.         o  note:  Bank1 nonexistent.
  198.  
  199. FIN     o  write Configuration to the Memory Configuration 
  200.            Register.
  201.         o  note Total Memory Size (Top of RAM) for future 
  202.            reference.
  203.  
  204.    RAM  memory  access  cycles  are   interleaved   between   the 
  205. microprocessor   unit  and the video  controller,  thus  allowing 
  206. video  display  memory to reside efficiently as  part   of   main 
  207. memory (the MPU still maintains full memory bandwidth).
  208.  
  209.                   _2.3.   Direct Memory  Access 
  210.  
  211.    A  direct  main  memory RAM access  channel   is   shared   to 
  212. provide  support  for  both low speed (250 to 500 Kbits/sec)  and 
  213. high  speed  (up to 12 Mbits/sec) 8 bit  device   controll-  ers. 
  214. The   base address for the DMA read or write operation is  loaded 
  215. into  the DMA Base  Address  and  Counter  Register  (read/write, 
  216. reset:   all   zeros).    Since   only one counter  register  and 
  217. channel is provided,  only one DMA operation can be executed at a 
  218. time.
  219.  
  220.    The  actual DMA operation is performed through a 32 byte  FIFO 
  221. programmed   via   the  DMA  Mode Control Register  (word  access 
  222. write only,  reset:  not affected) and DMA Sector Count  Register 
  223. (word   access  write only,  reset:  all zeros).   The  progress, 
  224. success,  or failure of a DMA operation is reported through   the 
  225. DMA  Status  Register  (word access read only,  reset: one) which 
  226. is  cleared  by  toggling Write/_Read in  the  DMA  Mode  Control 
  227. Register.
  228.  
  229.  
  230.    Bus  accesses  are  granted  to   the   DMA   controller   and 
  231. MC68000   MPU   on  an  egalitarian  first   come,  first  served 
  232. basis.   The  access  remains in effect until an   operation   is 
  233. complete or until control is otherwise relinquished.
  234.  
  235.  
  236.                      3.   Graphics  Subsystem 
  237.  
  238.  
  239.                    ----------                    ---------- 
  240.                   |Graphics  |                  |          | 
  241.                   |Subsystem |                  |          | 
  242.                    ----------                    ---------- 
  243.                         |                            | 
  244.                         |         ----------         | 
  245.                          --------|          |-------- 
  246.                                  |          | 
  247.                                   ---------- 
  248.                                        | 
  249.                                        |         ---------- 
  250.                                         --------|          | 
  251.                                                 |          | 
  252.                                                  ---------- 
  253.  
  254.    The basic components  of  the  graphics  subsystem  are  video 
  255.  display memory and the video controller.   The defini- tions  of 
  256. BitMap,   BitBlk,  BitBlt,  coordinate  system,  and color  model 
  257. are left to higher logical (software) levels of system specifica-
  258. tion.
  259.  
  260.                    3.1.   Video Display Memory 
  261.  
  262.    Video  display  memory  is configured  as  n  logical   planes 
  263. interwoven  by  16  bit words into contiguous memory to form  one 
  264. 32 Kbyte (actually 0x7d00) physical  plane  starting  at any  256 
  265. byte half page boundary (in RAM only).   The starting address  of 
  266. display   memory   is   placed   in   the   Video   Base  Address 
  267.  Register  (read/write,   reset:  all zeros) which is then loaded 
  268. into the Video Address  Counter  Register  (read only, reset: all 
  269. zeros) and incremented.   The following is a diagram of  possible 
  270. physical configurations of video display memory:
  271.   
  272.                -------- 
  273. 16 bit word   |        | 
  274.                -------- -------- -------- -------- -------- 
  275. 4 plane       |plane 0 |plane 1 |plane 2 |plane 3 |plane 0 | 
  276.                -------- -------- -------- -------- -------- 
  277. 2 plane       |plane 0 |plane 1 |plane 0 |plane 1 |plane 0 | 
  278.                -------- -------- -------- -------- -------- 
  279. 1 plane       |plane 0 |plane 0 |plane 0 |plane 0 |plane 0 | 
  280.                -------- -------- -------- -------- -------- 
  281.  
  282.   
  283.    Display  memory  resides as part of main memory  and   has  an 
  284. identical  bit,  byte,  and word arrangement with the physi-  cal 
  285. screen origin located at top left (bit 15):
  286.  
  287.                           high     low 
  288.                          -------- -------- 
  289.           word 0        | byte 0 | byte 1 | 
  290.                          -------- -------- 
  291.                          fedcba98 76543210 
  292.  
  293. 3.2.  Video Configuration 
  294.  
  295.    The ST possesses three modes  of  video  configuration:
  296. 320  x  200  resolution  with 4 planes, 640 x 200 resolution with 
  297. 2  planes,  and 640 x 400 resolution with 1  plane.    The  modes 
  298. are  set through the Shift Mode Register (read/write,  reset: all 
  299. zeros).   A sixteen word color lookup  palette  is provided  with 
  300. nine   bits   of  color per entry.   The  sixteen  Color  Palette 
  301. Registers  (read/write,   reset:   not  affected) contain   three 
  302. bits  of red,  green,  and blue aligned on low nibble boundaries. 
  303. Eight  intensity  levels  of  red,   eight intensity  levels   of 
  304. green,  and eight intensity levels of blue produce a total of 512 
  305. possible colors.  
  306.  
  307.    In  320 x 200 4 plane mode all  sixteen  palette   colors  can 
  308.  be   indexed,   while  in 640 x 200 2 plane mode only the  first 
  309. four palette entries are applicable.   In  640  x  400 monochrome 
  310. mode  the  color palette is bypassed altogether  and  is  instead 
  311. provided  with  an inverter for inverse video  con-  trolled   by 
  312. bit  0  of palette color 0 (normal video is black  0,  white  1). 
  313. Color  palette  memory is arranged the  same   as  main   memory. 
  314. Palette   color  0  is  also used to assign a border color  while 
  315. in a  multi-plane  mode.    In  monochrome mode the border  color 
  316. is always black.
  317.  
  318.    The general flow of the video controller is as follows:
  319. BitMap   planes  are taken a word at a time  from  video  display 
  320. memory and placed in the video shift register where one  bit from 
  321. each   plane  is shifted out and collectively used  as  an  index 
  322. (plane  0  is the least  significant  bit)  to  a   color  lookup 
  323. palette   entry  which  is supplied to 3 bit  digital  to  analog 
  324. converters  to  produce RGB output.   The following  is  a  block 
  325. diagram of the video controller:
  326.  
  327.  
  328.          ----- Video Controller Block Diagram --------------- 
  329.  
  330.        --------          --------        --------   lsb  -------- 
  331.       | 3      |---- -->|0 1 2 3 |----->|      0 |----->| 16 x 9 |- 
  332.      --------  |    |   |        |      |      1 |----->| Lookup |-|->R 
  333.     | 2      |------    |        |      |      2 |----->|        |- 
  334.    --------  | |    |   |        |      |      3 |----->|        |- 
  335.   | 1      |--------    |        |      |        |--    |        |-|->G 
  336.  --------  | |-     |    --------        --------   |   |        |- 
  337. | 0      |----------                                |   |        |- 
  338. |        | |-                                       |   |        |-|->B 
  339. |        | |                                        |   |        |- 
  340. |        |-                                         |    -------- 
  341. |        |                                          |   -------- 
  342.  --------                                           -->|Inverter|->MONO 
  343.                                                         -------- 
  344.  
  345. Logical BitMap          Video Display   Video Shift     Color Palette 
  346. Planes                  Memory          Register        and 3 Bit DACs 
  347.  
  348.  
  349.  
  350.  
  351.           4.   Music Subsystem 
  352.  
  353.  
  354.                    ----------                    ---------- 
  355.                   |          |                  |Music     | 
  356.                   |          |                  |Subsystem | 
  357.                    ----------                    ---------- 
  358.                         |                            | 
  359.                         |         ----------         | 
  360.                          --------|          |-------- 
  361.                                  |          | 
  362.                                   ---------- 
  363.                                        | 
  364.                                        |         ---------- 
  365.                                         --------|          | 
  366.                                                 |          | 
  367.                                                  ---------- 
  368.  
  369.    The ST music subsystem is composed  of  a  programmable  sound 
  370. synthesizer and a musical instrument serial interface. The inter-
  371. face provides high speed  serial  communication  of musical  data 
  372. to and from more sophisticated synthesizer dev- ice subsystems.
  373.  
  374. 4.1.  Sound Synthesizer 
  375.  
  376.    The  YM-2149 Programmable Sound Generator produces music  syn-
  377. thesis,   sound  effects,  and audio feedback (eg alarms and  key 
  378. clicks).   With  an  applied clock input of 2 MHz,  the   PSG  is 
  379.  capable   of providing a frequency response range between 30  Hz 
  380. (audible) and 125 KHz (post-audible).    The  generator places  a 
  381.  minimal  amount  of processing burden on the main system  (which 
  382. acts  as  the sequencer) and has the ability  to  perform   using 
  383.  three  independent  voice channels.   The  three  sound  channel 
  384. outputs  are  mixed,  along with  Audio  In,   and sent   to   an 
  385. external  television  or monitor speaker (the PSG  has  built  in 
  386. digital to analog converters).
  387.  
  388.    The  sound generator's internal registers  are   accessed  via 
  389.  the  PSG  Register  Select Register (write  only,  reset:  regi-
  390. sters all zeros).  The tone generator registers  control a  basic 
  391. square  wave  while  the noise generator register  con-  trols  a 
  392. frequency  modulated  square   wave   of   pseudo   random  pulse 
  393.  width.    Tones and noise can be mixed over individual  channels 
  394. by  using the mixer control register.   The  amplitude  registers 
  395. allow  the  specification of a fixed amplitude or of  a  variable 
  396. amplitude when used with the envelope  generator.  The   envelope 
  397.  generator   registers   permit  the  entry of a  skewed  attack-
  398. decay-sustain-release envelope in the form  of a continue-attack-
  399. alternate-hold envelope.
  400.  
  401.  
  402. 4.2.  Musical Instrument Communication 
  403.  
  404.    The  Musical Instrument Digital Interface (MIDI)   allows  the 
  405.  integration  of the ST with music  synthesizers,  sequenc-  ers, 
  406. drum  boxes,  and other devices  possessing  MIDI  inter-  faces. 
  407. High  speed  (31.25  Kbaud) serial communication of keyboard  and 
  408. program  information is provided by  two  ports,  MIDI  OUT   and 
  409. MIDI IN (MIDI OUT also supports the optional MIDI THRU port).
  410.  
  411.    The  MIDI  bus  permits up to 16 channels  in  one  of   three 
  412. network   addressing  modes:   Omni (all units  addressed  simul- 
  413. taneously,  power  up  default),   Poly  (each   unit   addressed 
  414. separately),    and    Mono    (each   unit    voice    addressed 
  415. separately).  Information is communicated via five types  of data 
  416. format  (data  bytes,  most significant bit:   status 1, data 0) 
  417. which  are  prioritized from  highest   to   lowest   as:  System 
  418. Reset  (default  conditions,   should  not be sent on power up to 
  419. avoid  deadlock),  System Exclusive  (manufacturer unique   data: 
  420. Sequential  Circuits,  Kawai,  Roland, Korg, Yamaha), System Real 
  421. Time  (synchronization),    System   Common   (broadcast),    and 
  422. Channel  (note  selections, program data, etc).
  423.  
  424.            5.  Device Subsystems 
  425.                    ----------                    ---------- 
  426.                   |          |                  |          | 
  427.                   |          |                  |          | 
  428.                    ----------                    ---------- 
  429.                         |                            | 
  430.                         |         ----------         | 
  431.                          --------|          |-------- 
  432.                                  |          | 
  433.                                   ---------- 
  434.                                        | 
  435.                                        |         ---------- 
  436.                                         --------|Device    | 
  437.                                                 |Subsystems| 
  438.                                                  ---------- 
  439.  
  440.    The ST supports seven device subsystems:    an  intelli-  gent 
  441. keyboard,  video  interface, parallel interface, RS232 interface, 
  442. MIDI interface, floppy disk interface,  and  hard disk interface. 
  443. Included  with  each  device  interface description is a port pin 
  444. assignment chart with the  ST  and programmable signals justified 
  445. left  (pins  that  are  not con-  nected  are  not  shown).   The 
  446. connector   type   on  the  ST  is shown  above  each  pin   list 
  447. with an S designating a female socket and a P designating a  male 
  448. plug.
  449.  
  450. 5.1. Intelligent Keyboard 
  451.  
  452.    The  Atari  Intelligent  Keyboard  (ikbd)  transmits   encoded 
  453. make/break    key    scan   codes  (with   two   key   rollover), 
  454. mouse/trackball data, joystick data, and time of  day.   The ikbd 
  455.  receives  commands as well,  with bidirectional communi-  cation 
  456. controlled  on the ST side by an  MC6850   Asynchronous  Communi-
  457. cations   Interface  Adapter supplied with transmit  and  receive 
  458. clock inputs of 500 KHz.   The data transfer rate  is a  constant 
  459. 7812.5  bits/sec  which  can be generated  by  setting  the  ACIA 
  460. Counter  Divide Select to divide by  64.    All   ikbd  functions 
  461.  such  as  key  scanning,   mouse tracking, command parsing, etc. 
  462. are performed by a 1 MHz HD6301V1 8 bit Micro- computer Unit.
  463.  
  464.    The  ikbd is equipped with a combination  mouse/joystick  port 
  465.  and   a  joystick only port.   The Atari Two Button Mouse  is  a 
  466. mechanical, opto-mechanical, or optical mouse with  the following 
  467.  minimal  performance  characteristics:   a  resolution  of   100 
  468. counts/inch   (4   counts/mm),   a  maximum  velocity    of    10 
  469. inches/second   (250   mm/second),   and  a maximum  pulse  phase 
  470. error  of  50 percent.   The Atari Joystick is  a   4   direction            
  471. 13   switch-type  joystick  with  one  fire button.  The ikbd can 
  472. report  movement  using one  of   three   mouse/joystick   modes: 
  473. mouse with joystick, disabled mouse with joystick, and joys- tick 
  474. with joystick.
  475.  
  476.  
  477.       ----- Mouse/Joystick0 Port Pin Assignments --------------- 
  478.  
  479.                   ST                                   DB 9P 
  480.                 ----                                    ---- 
  481. IKBD MATRIX       1 |<--- XB Pulse / Up Switch --------| 
  482. IKBD MATRIX       2 |<--- XA Pulse / Down Switch ------| 
  483. IKBD MATRIX       3 |<--- YA Pulse / Left Switch ------| 
  484. IKBD MATRIX       4 |<--- YB Pulse / Right Switch -----| 
  485. IKBD MCU          6 |<--- Left Button / Fire Button ---| 
  486.                   7 |---- Power ---------------------->| 
  487.                   8 |---- Ground ----------------------| 
  488. IKBD MCU          9 |<--- Right Button / Joy1 Fire ----| 
  489.                ----                                    ---- 
  490.  
  491.  
  492. Signal Characteristics 
  493.  
  494. mouse pins 1-4          TTL levels.
  495. joystick0 pins 1-4      TTL levels.
  496. pin 6                   TTL levels, closure to ground.
  497. pin 7                   +5 VDC.
  498. pin 9                   TTL levels, closure to ground.
  499.  
  500.  
  501.  Mouse Phase Directions 
  502.  
  503.         POSITIVE RIGHT (UP)             NEGATIVE LEFT (DOWN) 
  504.  
  505.         .    -----       -----                  -----       ----- 
  506. XA (YA)     |     |     |     |                |     |     |     | 
  507.             |     |     |     |                |     |     |     | 
  508.         . --       -----       -----      -----       -----       -- 
  509.  
  510.         .       -----       -----            -----       ----- 
  511. XB (YB)        |     |     |     |          |     |     |     | 
  512.                |     |     |     |          |     |     |     | 
  513.         . -----       -----       --      --       -----       ----- 
  514.  
  515.  
  516. ----- Joystick1 Port Pin Assignments --------------- 
  517.  
  518.                   ST                                     DB 9P 
  519.                 ----                                    ---- 
  520. IKBD MATRIX       1 |<--- Up Switch -------------------| 
  521. IKBD MATRIX       2 |<--- Down Switch -----------------| 
  522. IKBD MATRIX       3 |<--- Left Switch -----------------| 
  523. IKBD MATRIX       4 |<--- Right Switch ----------------| 
  524. IKBD MCU          6 |<--- Fire Button -----------------| 
  525.                   7 |---- Power ---------------------->| 
  526.                   8 |---- Ground ----------------------| 
  527.                 ----                                    ---- 
  528.  
  529. Signal Characteristics 
  530.  
  531. pins 1-4,6              TTL levels.
  532. pin 7                   +5 VDC.
  533.  
  534.  _5.2.  Video Interface 
  535.  
  536.    The  ST video display interface supports low  resolution  (320 
  537.  x 200 or 640 x 200) television receivers and composite monitors, 
  538. low  resolution  (320 x 200 or 640 x 200) RGB   moni-  tors,  and 
  539. medium resolution (640 x 400) monochrome monitors.
  540.           
  541. Both NTSC and PAL color encoding standards are available  in  two 
  542. separate  configurations  of the video  interface  hardware.  For 
  543. United States television  receivers,   the  modulated  RF display 
  544. signal   is  provided  on  two  adjacent  broadcast  chan-  nels: 
  545. channel 2 (55.25 MHz) and channel 3 (61.25 MHz).    In order   to 
  546. protect   against   monitor  damage while  in  medium  resolution 
  547. monochrome  mode,  the   Monochrome  Monitor  Detect  signal   is 
  548. provided   as   an   interrupt  on  the  MK68901  Multi  Function 
  549. Peripheral  and can be tested to determine the pres- ence  of   a 
  550. monochrome  monitor  (active low,  any change will  generate  the 
  551. interrupt if enabled).
  552.  
  553.    External/Internal syncs and 50/60 Hz  field  rates  are selec-
  554. ted  via the Sync Mode Register (read/write,  reset:  all zeros). 
  555.  The YM-2149 Programmable Sound Generator I/O Port A provides   a 
  556. General  Purpose Output for use in the control of functions  such 
  557. as the remote selection of  monitor  external or  internal  sync. 
  558.  Two autovector interrupts are generated to allow software synch-
  559. ronization  with horizontal and verti- cal  blanking   intervals. 
  560.   The   Horizontal   Blanking (down) Counter MFP Timer B  has  an 
  561. active  high input signal and pro- duces  an  interrupt when  the 
  562. counter times out (Event Count Mode).   The  horizontal  blanking 
  563.  counter   actually   uses display  enable,  the first  of  which 
  564. occurs at the end of the first display line.   The video  display 
  565. shift  mode  should   be selected during  the  vertical  blanking 
  566. interval.
  567.  
  568.  
  569. ----- Video Port Pin Assignments --------------- 
  570.  
  571. Television 
  572.      ST                              RCA Pin Jack 
  573.    ----                                    ---- 
  574.   core |---- RF Modulated Video --------->| 
  575. shield |---- Ground ----------------------| 
  576.    ----                                    ---- 
  577.  
  578.                      Monitor 
  579.                   ST                      Circular DIN 13S 
  580.                  ----                                    ---- 
  581.                   1 |---- Audio Out ------------------>| 
  582.                   2 |---- Composite Video ------------>| 
  583. PSG I/O A         3 |---- General Purpose Output ----->| 
  584. MFP               4 |<--- Monochrome Detect -----------| 
  585.                   5 |<--- Audio In --------------------| 
  586.                   6 |---- Green ---------------------->| 
  587.                   7 |---- Red ------------------------>| 
  588.                   8 |---- Peritel Power -------------->| 
  589.                   9 |---- Horizontal Sync ------------>| 
  590.                  10 |---- Blue ----------------------->| 
  591.                  11 |---- Monochrome ----------------->| 
  592.                  12 |---- Vertical Sync -------------->| 
  593.                  13 |---- Ground ----------------------| 
  594.                  ----                                    ---- 
  595.  
  596. Signal Characteristics 
  597.  
  598. pin 1                   1 VDC peak to peak, 10 Kohm.
  599. pin 2                   1 VDC peak to peak, 75 ohm.
  600. pin 3                   TTL levels, assertion not assigned.
  601. pin 4                   TTL levels, active low, 
  602.                         1 Kohm pullup resistor to +5 VDC.
  603. pin 5                   1 VDC peak to peak, 10 Kohm.
  604. pins 6-7                1 VDC peak to peak, 75 ohm.
  605. pin 8                   +12 VDC pullup.
  606. pin 9                   5 VDC active low, 3.3 Kohm.
  607. pin 10                  1 VDC peak to peak, 75 ohm.
  608. pin 11                  1 VDC peak to peak, 75 ohm.
  609. pin 12                  5 VDC active low, 3.3 Kohm.
  610.  
  611.  
  612. 5.3.  ParallelInterface 
  613.  
  614.    The  ST parallel interface  supports  Centronics  STROBE  from 
  615. the  YM-2149 PSG for data synchronization and Centronics BUSY  to 
  616. the  MK68901  MFP  (ACKNLG  is  not  supported)  for handshaking. 
  617. Eight  bits  of  read/write  data are handled through I/O Port  B 
  618. on  the  PSG  at   a   typical   data   transfer  rate  of   4000 
  619. bytes/second.
  620.  
  621.  
  622. ----- Parallel Port Pin Assignments --------------- 
  623.  
  624.                   ST                                   DB 25S 
  625.                  ----                                    ---- 
  626. PSG I/O A         1 |---- Centronics STROBE ---------->| 
  627. PSG I/O B         2 |<--- Data 0 --------------------->| 
  628. PSG I/O B         3 |<--- Data 1 --------------------->| 
  629. PSG I/O B         4 |<--- Data 2 --------------------->| 
  630. PSG I/O B         5 |<--- Data 3 --------------------->| 
  631. PSG I/O B         6 |<--- Data 4 --------------------->| 
  632. PSG I/O B         7 |<--- Data 5 --------------------->| 
  633. PSG I/O B         8 |<--- Data 6 --------------------->| 
  634. PSG I/O B         9 |<--- Data 7 --------------------->| 
  635. MFP              11 |<--- Centronics BUSY -------------| 
  636.               18-25 |---- Ground ----------------------| 
  637.                 ----                                    ---- 
  638.  
  639. Signal Characteristics 
  640.  
  641. pin 1                   TTL levels, active low.
  642. pins 2-9                TTL levels.
  643. pin 11                  TTL levels, active high, 
  644.                         1 Kohm pullup resistor to +5 VDC.
  645.  
  646.  5.4.  RS232 Interface 
  647.  
  648.    The  ST RS232 interface provides voltage level  synchro-  nous 
  649.  or asynchronous serial communication.  Five EIA RS232C handshake 
  650. control  signals  are supported:    Request  To  Send  and   Data 
  651. Terminal Ready are transmitted through the YM-2149 PSG I/O Port A 
  652. while  Clear To Send,  Data Carrier Detect,  and Ring   Indicator 
  653.  are  received through the MK68901 MFP.   The MFP USART  transmit 
  654. and  receive  clock inputs  are  controlled by  the   Baud   Rate 
  655.  
  656.    Generator  MFP Timer D which is supplied with 2.4576  MHz  and 
  657. can support asynchronous  data  transfer rates  from 50 to  19200 
  658. baud.   One byte transmit and receive data buffers are managed by 
  659. the MFP  USART,   which  provides monitoring of buffer conditions 
  660. and communication errors.
  661.  
  662.  
  663. ----- RS232 Port Pin Assignments --------------- 
  664.  
  665.                   ST                                    DB 25P 
  666.                  ----                                    ---- 
  667.                   1 |---- Protective Ground -----------| 
  668. MFP               2 |---- Transmitted Data ----------->| 
  669. MFP               3 |<--- Received Data ---------------| 
  670. PSG I/O A         4 |---- Request To Send ------------>| 
  671. MFP               5 |<--- Clear To Send ---------------| 
  672.                   7 |---- Signal Ground ---------------| 
  673. MFP               8 |<--- Data Carrier Detect ---------| 
  674. PSG I/O A        20 |---- Data Terminal Ready -------->| 
  675. MFP              22 |<--- Ring Indicator --------------| 
  676.                  ----                                    ---- 
  677.  
  678. Signal Characteristics 
  679.  
  680. pins 2-5                RS232C levels.
  681. pins 8,20,22            RS232C levels.
  682.  
  683.  
  684.  5.5.  MIDI Interface 
  685.  
  686.    The  ST MIDI interface provides current  loop  asynchro-  nous 
  687.  serial  communication  controlled by an MC6850 ACIA  sup-  plied 
  688. with transmit and receive clock  inputs  of  500  KHz.  The  data 
  689. transfer rate is a constant 31.25 Kbaud which can be generated by 
  690. setting the ACIA Counter  Divide  Select  to divide  by 16.   The 
  691. MIDI specification calls for serial data to consist of eight data 
  692. bits preceded by a  start  bit  and followed by one stop bit.
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699. ----- MIDI Port  Pin Assignments ---------------  
  700. MIDI OUT/THRU    ST                             Circular DIN  5S
  701.                ----                                     ----  
  702. MIDI   IN      1 |---- THRU Transmit Data   --------->| 
  703.                2 |----  Shield Ground  ---------------| 
  704.                3 |<--- THRU Loop  Return  ------------| MIDI ACIA   
  705.                4 |---- OUT Transmit Data   ---------->| 
  706.                5 |<--- OUT Loop Return   -------------|
  707.               ----                                     ----       
  708. MIDI IN 
  709.              ST                           Circular DIN 5
  710.             ----                                  ---- 
  711. MIDI ACIA   4 |<--- IN Receive Data -------------| 
  712.             5 |---- IN Loop Return ------------->|
  713.           ----                                    ----    
  714. Signal Characteristics  current loop           
  715. 5 ma, zero is current on.
  716.  
  717.  
  718. 5.6.  Disk Drive Interface 
  719.  
  720.    The  ST floppy disk drive interface is provided   through  the 
  721. DMA  controller  to an on board WD1772 Floppy Disk Con-  troller. 
  722. A total of two daisy chained  floppy  disk  drives (drive  0   or 
  723. 1)  can  be supported.   Commands are sent to the  FDC  by  first 
  724. writing to the DMA  Mode  Control  Register  to select  the   FDC 
  725. internal  command register and then writing the desired one  byte 
  726. command to the Disk  Controller  Regis- ter.   The  entire floppy 
  727. disk DMA read or write sequence is as follows:
  728.  
  729.  
  730. o  select floppy drive 0 or 1 (PSG I/O Port A).
  731. o  select floppy side 0 or 1 (PSG I/O Port A).
  732. o  load DMA Base Address and Counter Register.
  733. o  toggle Write/_Read to clear status (DMA Mode Control Register).
  734. o  select DMA read or write (DMA Mode Control Register).
  735. o  select DMA Sector Count Register (DMA Mode Control Register).
  736. o  load DMA Sector Count Register (DMA operation trigger).
  737. o  select FDC internal command register (DMA Mode Control Register).
  738. o  issue FDC read or write command (Disk Controller Register).
  739. o  DMA active until sector count is zero (DMA Status Register, 
  740.    do not poll during DMA active).
  741. o  issue FDC force interrupt command on multi-sector transfers 
  742.    except at track boundaries (Disk Controller Register).
  743. o  check DMA error status (DMA Status Register, nondestructive).
  744.  
  745.   The  detection  of floppy disk removal is   not   supported  in 
  746. hardware.
  747.  
  748.    The  ST  hard   disk  drive   interface   is   also   provided 
  749. through  the  DMA controller,  however the Atari Hard  Disk  Con- 
  750. troller  is  off board and is  sent  commands   using   an   ANSI 
  751. X3T9.2   SCSI-like  (Small Computer  Systems  Interface)  command 
  752. descriptor  block  protocol.   The Atari  Hard   Disk   Interface 
  753. (AHDI)   supports   a minimal subset of SCSI  commands  (Class  0 
  754. OpCodes), which are dispatched using the following fixed six byte 
  755.  Atari  Computer System Interface (ACSI) command packet format:
  756.  
  757.  
  758.           ----- ACSI Command Descriptor Block --------------- 
  759.  
  760.                   Byte 0  |xxxxxxxx| 
  761.                            |||||||| 
  762.                            ||| -------- Operation Code 
  763.                             ----------- Controller Number 
  764.                   Byte 1  |xxxxxxxx| 
  765.                            |||||||| 
  766.                            |||--------- Block Address High 
  767.                             ----------- Device Number 
  768.                   Byte 2  |xxxxxxxx| 
  769.                            |||||||| 
  770.                             ----------- Block Address Mid 
  771.                   Byte 3  |xxxxxxxx| 
  772.                            |||||||| 
  773.                             ----------- Block Address Low 
  774.                   Byte 4  |xxxxxxxx| 
  775.                            |||||||| 
  776.                             ----------- Block Count 
  777.                   Byte 5  |xxxxxxxx| 
  778.                            |||||||| 
  779.                             ----------- Control Byte 
  780.  
  781.  
  782.  
  783.    The   following   is   a   summary   of   available    command 
  784. OpCodes:
  785.  
  786.           ----- AHDI Command Summary Table --------------- 
  787.  
  788.                    ---------- -------------------- 
  789.                   | OpCode   | Command            | 
  790.                    ---------- -------------------- 
  791.                   | 0x00     | Test Unit Ready    | 
  792.                   | 0x05     | Verify Track       |  * 
  793.                   | 0x06     | Format Track       |  * 
  794.                   | 0x08     | Read               |  * 
  795.                   | 0x0a     | Write              |  * 
  796.                   | 0x0b     | Seek               | 
  797.                   | 0x0d     | Correction Pattern | 
  798.                   | 0x15     | Mode Select        | 
  799.                   | 0x1a     | Mode Sense         | 
  800.                    ---------- -------------------- 
  801.  
  802.                    *  multisector transfer with implied seek 
  803.  NOTE:  subject to change.
  804.  
  805.    Commands are issued to the Atari HDC in a manner  similar   to 
  806. that of the FDC,  with the major difference being the handshaking 
  807. of a multi-byte command descriptor  block.   The entire hard disk 
  808. DMA read or write sequence is as follows:
  809.  
  810. o  load DMA Base Address and Counter Register.
  811. o  toggle Write/_Read to clear status (DMA Mode Control Register).
  812. o  select DMA read or write (DMA Mode Control Register).
  813. o  select DMA Sector Count Register (DMA Mode Control Register).
  814. o  load DMA Sector Count Register (DMA operation trigger).
  815. o  select HDC internal command register (DMA Mode Control Register).
  816. o  issue controller select byte while clearing A0.
  817. o  set A0 for remaining command bytes.
  818. o  after last command byte select controller (DMA Mode Control 
  819.    Register).
  820. o  DMA active until sector count is zero (DMA Status Register, 
  821.    do not poll during DMA active).
  822. o  check DMA error status (DMA Status Register, nondestructive).
  823. o  check HDC status byte and if necessary perform ECC correction 
  824.    following a Verify Track or Read Sector command.
  825.  
  826. The format of both floppy and hard  disks  contain  512 byte data 
  827. sectors.
  828.  
  829.           ----- Floppy Disk Port Pin Assignments --------------- 
  830.  
  831.                    ST                            Circular DIN 14S 
  832.                   ----                                    ---- 
  833.                   1 |<--- Read Data -------------------| 
  834. PSG I/O A         2 |---- Side0 Select --------------->| 
  835.                   3 |---- Logic Ground ----------------| 
  836.                   4 |<--- Index Pulse -----------------| 
  837. PSG I/O A         5 |---- Drive0 Select -------------->| 
  838. PSG I/O A         6 |---- Drive1 Select -------------->| 
  839.                   7 |---- Logic Ground ----------------| 
  840.                   8 |---- Motor On ------------------->| 
  841.                   9 |---- Direction In --------------->| 
  842.                  10 |---- Step ----------------------->| 
  843.                  11 |---- Write Data ----------------->| 
  844.                  12 |---- Write Gate ----------------->| 
  845.                  13 |<--- Track 00 --------------------| 
  846.                  14 |<--- Write Protect ---------------| 
  847.                 ----                                    ---- 
  848.  
  849.    NOTE:  shield ground must not be connected on the ST side, the 
  850. cable  must  have  Read Data and Write  Data  paired  with  Logic 
  851. Grounds.
  852.  
  853. Signal Characteristics 
  854.  
  855. pin 1                   TTL levels, active low, 
  856.                         1 Kohm pullup resistor to +5 VDC.
  857. pin 2                   TTL levels, active high, 
  858.                         high at system reset.
  859. pin 4                   TTL levels, active low, 
  860.                         1 Kohm pullup resistor to +5 VDC.
  861. pins 5-6                TTL levels, active low, 
  862.                         high at system reset.
  863. pins 8-12               TTL levels, active low (inverted).
  864. pins 13-14              TTL levels, active low, 
  865.                         1 Kohm pullup resistors to +5 VDC.
  866.  
  867.  
  868.  
  869.  
  870. ----- Hard Disk Port Pin Assignments --------------- 
  871.  
  872.                   ST                                    DB 19S 
  873.                   ----                                    ---- 
  874.                   1 |<--- Data 0 --------------------->| 
  875.                   2 |<--- Data 1 --------------------->| 
  876.                   3 |<--- Data 2 --------------------->| 
  877.                   4 |<--- Data 3 --------------------->| 
  878.                   5 |<--- Data 4 --------------------->| 
  879.                   6 |<--- Data 5 --------------------->| 
  880.                   7 |<--- Data 6 --------------------->| 
  881.                   8 |<--- Data 7 --------------------->| 
  882.                   9 |---- Chip Select ---------------->| 
  883. MFP              10 |<--- Interrupt Request -----------| 
  884.                  11 |---- Ground ----------------------| 
  885.                  12 |---- Reset ---------------------->| 
  886.                  13 |---- Ground ----------------------| 
  887.                  14 |---- Acknowledge ---------------->| 
  888.                  15 |---- Ground ----------------------| 
  889.                  16 |---- A1 ------------------------->| 
  890.                  17 |---- Ground ----------------------| 
  891.                  18 |---- Read/Write ----------------->| 
  892.                  19 |<--- Data Request ----------------| 
  893.                  ----                                    ---- 
  894.  
  895. Signal Characteristics 
  896.  
  897. pins 1-8                TTL levels.
  898. pin 9                   TTL levels, active low.
  899. pin 10                  TTL levels, active low, 
  900.                         1 Kohm pullup resistor to +5 VDC.
  901. pin 12                  TTL levels, active low, 
  902.                         system reset.
  903. pin 14                  TTL levels, active low.
  904. pins 16,18              TTL levels.
  905. pin 19                  TTL levels, active low, 
  906.                         1 Kohm pullup resistor to +5 VDC.
  907.  
  908.           6.  Components 
  909.  
  910.    The  standard configurations of the Atari ST  main  sys-  tem, 
  911. graphics subsystem,  music subsystem, and device subsys- tems are 
  912. made up of the following major hardware components:
  913.  
  914.  
  915. Main            o  8 MHz MC68000 Microprocessor Unit 
  916.                 o  MK68901 Multi Function Peripheral 
  917.                 o  192 Kbyte ROM 
  918.                 o  512 Kbyte or 1 Mbyte RAM 
  919.                 o  Memory Controller Chip 
  920.                 o  Control Logic Chip 
  921.                 o  DMA Controller Chip 
  922.  
  923. Graphics        o  32 Kbyte Display Memory (from main RAM) 
  924.                 o  Video Shift Register Chip 
  925.  
  926. Music           o  YM-2149 Programmable Sound Generator 
  927.  
  928. Device          o  Atari Intelligent Keyboard (ikbd) 
  929.                    1 MHz HD6301V1 Microcomputer Unit 
  930.                 o  Atari Two Button Mouse 
  931.                 o  2 MC6850 Asynchronous Communications 
  932.                    Interface Adapters 
  933.                 o  WD1772 Floppy Disk Controller 
  934.  
  935.  
  936. 7.  Expansion 
  937.  
  938.    The Atari ST can be  expanded  by  cartridge  ROM  only  which 
  939. can contain a maximum of 128 Kbyte.   The disclosure of cartridge 
  940. presence   or   memory  size  is  not   supported   in  hardware. 
  941. The   ROM   cartridge  slot  has the  following  pin  assignments 
  942. (only the lower 15 address lines are available):
  943.  
  944.  ----- ROM Port Pin Assignments --------------- 
  945.  
  946.     ST                                     40S 
  947.    ----                                    ---- 
  948.     1 |---- Power +5 VDC --------------->| 
  949.     2 |---- Power +5 VDC --------------->| 
  950.     3 |<--- Data 14 ---------------------| 
  951.     4 |<--- Data 15 ---------------------| 
  952.     5 |<--- Data 12 ---------------------| 
  953.     6 |<--- Data 13 ---------------------| 
  954.     7 |<--- Data 10 ---------------------| 
  955.     8 |<--- Data 11 ---------------------| 
  956.     9 |<--- Data 8 ----------------------| 
  957.    10 |<--- Data 9 ----------------------| 
  958.    11 |<--- Data 6 ----------------------| 
  959.    12 |<--- Data 7 ----------------------| 
  960.    13 |<--- Data 4 ----------------------| 
  961.    14 |<--- Data 5 ----------------------| 
  962.    15 |<--- Data 2 ----------------------| 
  963.    16 |<--- Data 3 ----------------------| 
  964.    17 |<--- Data 0 ----------------------| 
  965.    18 |<--- Data 1 ----------------------| 
  966.    19 |---- Address 13 ----------------->| 
  967.    20 |---- Address 15 ----------------->| 
  968.    21 |---- Address 8 ------------------>| 
  969.    22 |---- Address 14 ----------------->| 
  970.    23 |---- Address 7 ------------------>| 
  971.    24 |---- Address 9 ------------------>| 
  972.    25 |---- Address 6 ------------------>| 
  973.    26 |---- Address 10 ----------------->| 
  974.    27 |---- Address 5 ------------------>| 
  975.    28 |---- Address 12 ----------------->| 
  976.    29 |---- Address 11 ----------------->| 
  977.    30 |---- Address 4 ------------------>| 
  978.    31 |---- ROM3 Select ---------------->| 
  979.    32 |---- Address 3 ------------------>| 
  980.    33 |---- ROM4 Select ---------------->| 
  981.    34 |---- Address 2 ------------------>| 
  982.    35 |---- _Upper Data Strobe --------->| 
  983.    36 |---- Address 1 ------------------>| 
  984.    37 |---- _Lower Data Strobe --------->| 
  985. 38-40 |---- Ground ----------------------| 
  986.   ----                                    ---- 
  987.  
  988. 8.  Memory Map 
  989.  
  990.    The  first  2  Kbyte of ST  memory   is   reserved   for   the 
  991. exception   vector   table  and  supervisor   stack.   This  area 
  992. along  with  I/O space is protected  for  supervisor   references 
  993. only.   Accessing  supervisor  protected  areas while in the user 
  994. state will result in a bus error.   A 4 word portion  of ROM   is 
  995.  shadowed  at  the  start of RAM for the reset stack pointer  and 
  996. program  counter.   Writing to this  area  or  any  ROM  location 
  997. will  also result in a bus error.   The following is a map of  ST 
  998. memory:
  999.  
  1000.  
  1001. ----- ST Memory Map --------------- 
  1002.  
  1003.            ---------------- 
  1004. 00 0000   | ROM            |   Reset:  Supervisor Stack Pointer 
  1005. 00 0004   | ROM            |   Reset:  Program Counter 
  1006. 00 0008   | RAM            |   0 Kbyte RAM 
  1007.            ---------------- 
  1008.             .
  1009.            ---------------- 
  1010. 08 0000   | RAM            |   512 Kbyte RAM 
  1011.            ---------------- 
  1012.             .
  1013.            ---------------- 
  1014. 10 0000   | RAM            |   1 Mbyte RAM 
  1015.            ---------------- 
  1016.             .
  1017.             .
  1018.             .
  1019.            ---------------- 
  1020. fa 0000   | ROM            |   320 Kbyte ROM 
  1021.            ---------------- 
  1022.             .
  1023.            ---------------- 
  1024. fc 0000   | ROM            |   Reset:  Supervisor Stack Pointer 
  1025. fc 0004   | ROM            |   Reset:  Program Counter 
  1026. fc 0008   | ROM            |   192 Kbyte ROM 
  1027. fe ffff   | ROM            |   0 Kbyte ROM 
  1028.            ---------------- 
  1029.             .
  1030.             .
  1031.             .
  1032.            ---------------- 
  1033. ff 8000   | I/O            |   Configuration Registers 
  1034. ff 8200   | I/O            |   Display Registers 
  1035. ff 8400   | I/O            |   Reserved 
  1036. ff 8600   | I/O            |   DMA/Disk Registers 
  1037. ff 8800   | I/O            |   Sound Registers 
  1038.            ---------------- 
  1039.             .
  1040.            ---------------- 
  1041. ff fa00   | I/O            |   MC68xxx Registers 
  1042. ff fc00   | I/O            |   MC68xx Registers 
  1043.            ---------------- 
  1044.  
  1045. 9.  I/O Map 
  1046.  
  1047.    The  ST  I/O  space ranges from ff 0000  to  ff   ffff,   with 
  1048. MC68000  and MC6800 peripheral internal registers starting at  ff 
  1049. fa00  and  ff  fc00  respectively.     Accessing   reserved   I/O 
  1050. addresses  will result in a bus error.   Bit values for vari- ous 
  1051. read    and/or   write   registers   are   labeled   as    active 
  1052. One/_Zero  (always mask out unused field bits).   The follow- ing 
  1053. is a map of ST I/O space:
  1054.  
  1055. _____________ 
  1056. Configuration 
  1057.  
  1058. ff 8001   R/W      |----xxxx|   Memory Configuration 
  1059.                         |||| 
  1060.                         -------   Bank0      Bank1 (not used) 
  1061.                         0000       128 Kbyte  128 Kbyte 
  1062.                         0001       128 Kbyte  512 Kbyte 
  1063.                         0010       128 Kbyte    2 Mbyte 
  1064.                         0011       Reserved 
  1065.                         0100       512 Kbyte  128 Kbyte 
  1066.                         0101       512 Kbyte  512 Kbyte 
  1067.                         0110       512 Kbyte    2 Mbyte 
  1068.                         0111       Reserved 
  1069.                         1000         2 Mbyte  128 Kbyte 
  1070.                         1001         2 Mbyte  512 Kbyte 
  1071.                         1010         2 Mbyte    2 Mbyte 
  1072.                         1011       Reserved 
  1073.                         11xx       Reserved 
  1074. _______ 
  1075. Display 
  1076.  
  1077. ff 8201   R/W             |xxxxxxxx|   Video Base High 
  1078. ff 8203   R/W             |xxxxxxxx|   Video Base Low 
  1079.  
  1080. ff 8205   R               |xxxxxxxx|   Video Address Counter High 
  1081. ff 8207   R               |xxxxxxxx|   Video Address Counter Mid 
  1082. ff 8209   R               |xxxxxxxx|   Video Address Counter Low 
  1083.  
  1084. ff 820a   R/W             |------xx|   Sync Mode 
  1085.                                  || 
  1086.                                  | ----   External/_Internal Sync 
  1087.                                  -----   50 Hz/_60 Hz Field Rate 
  1088.  
  1089. ff 8240   R/W     |-----xxx-xxx-xxx|   Palette Color 0/0 (Border) 
  1090.                         ||| ||| ||| 
  1091.                         ||| ||| || ----   Invert/_Norm Mono 
  1092.                         ||| ||| ||| 
  1093.                         ||| |||  ------   Blue 
  1094.                         |||  ----------   Green 
  1095.                         --------------   Red 
  1096.  
  1097.  
  1098. ff 8242   R/W     |-----xxx-xxx-xxx|   Palette Color 1/1 
  1099. ff 8244   R/W     |-----xxx-xxx-xxx|   Palette Color 2/2 
  1100. ff 8246   R/W     |-----xxx-xxx-xxx|   Palette Color 3/3 
  1101. ff 8248   R/W     |-----xxx-xxx-xxx|   Palette Color 4 
  1102. ff 824a   R/W     |-----xxx-xxx-xxx|   Palette Color 5 
  1103. ff 824c   R/W     |-----xxx-xxx-xxx|   Palette Color 6 
  1104. ff 824e   R/W     |-----xxx-xxx-xxx|   Palette Color 7 
  1105. ff 8250   R/W     |-----xxx-xxx-xxx|   Palette Color 8 
  1106. ff 8252   R/W     |-----xxx-xxx-xxx|   Palette Color 9 
  1107. ff 8254   R/W     |-----xxx-xxx-xxx|   Palette Color 10 
  1108. ff 8256   R/W     |-----xxx-xxx-xxx|   Palette Color 11 
  1109. ff 8258   R/W     |-----xxx-xxx-xxx|   Palette Color 12 
  1110. ff 825a   R/W     |-----xxx-xxx-xxx|   Palette Color 13 
  1111. ff 825c   R/W     |-----xxx-xxx-xxx|   Palette Color 14 
  1112. ff 825e   R/W     |-----xxx-xxx-xxx|   Palette Color 15 
  1113.  
  1114. ff 8260   R/W             |------xx|   Shift Mode 
  1115.                                  || 
  1116.                                  00       320 x 200, 4 Plane 
  1117.                                  01       640 x 200, 2 Plane 
  1118.                                  10       640 x 400, 1 Plane 
  1119.                                            11       Reserved 
  1120.  
  1121. ________ 
  1122. RESERVED 
  1123.  
  1124. ff 8400           |----------------|   Reserved 
  1125.  
  1126. ________ 
  1127. DMA/Disk 
  1128.  
  1129. ff 8600           |----------------|   Reserved 
  1130. ff 8602           |----------------|   Reserved 
  1131.  
  1132. ff 8604   R/W     |--------xxxxxxxx|   Disk Controller
  1133.                                           (Word Access) 
  1134.  
  1135. ff 8606   R       |-------------xxx|   DMA Status (Word Access) 
  1136.                                 ||| 
  1137.                                 || ----   _Error Status 
  1138.                                 | -----  Sector Count Zero Status 
  1139.                                 ------Data Request Inactive Status 
  1140. ff 8606   W       |-------xxxxxxxx-| DMA Mode Control(Word Access) 
  1141.                           |||||||| 
  1142.                           ||||||| -----   A0 
  1143.                           |||||| ------   A1 
  1144.                           ||||| -------   HDC/_FDC Regi Sel 
  1145.                           |||| --------   Sector Count Reg Sel 
  1146.                           |||0            Reserved 
  1147.                           || ----------   Disable/_Enable DMA 
  1148.                           | -----------   FDC/_HDC 
  1149.                           ------------   Write/_Read 
  1150.  
  1151. ff 8609   R/W             |xxxxxxxx|   DMA Base and Counter High 
  1152. ff 860b   R/W             |xxxxxxxx|   DMA Base and Counter Mid 
  1153. ff 860d   R/W             |xxxxxxxx|   DMA Base and Counter Low 
  1154.  
  1155. _____ 
  1156. Sound 
  1157.  
  1158. ff 8800   R               |xxxxxxxx|   PSG Read Data 
  1159.                            ||||||||       I/O Port B 
  1160.                         --------------   Parallel Interface Data 
  1161. ff 8800   W               |xxxxxxxx|   PSG Register Select 
  1162.                                |||| 
  1163.                                -------   Register Number 
  1164.                            0000       Channel A Fine Tune 
  1165.                            0001       Channel A Coarse Tune 
  1166.                            0010       Channel B Fine Tune 
  1167.                            0011       Channel B Coarse Tune 
  1168.                            0100       Channel C Fine Tune 
  1169.                            0101       Channel C Coarse Tune 
  1170.                            0110       Noise Generator Control 
  1171.                            0111       Mixer Control - I/O Enable 
  1172.                            1000       Channel A Amplitude 
  1173.                            1001       Channel B Amplitude 
  1174.                            1010       Channel C Amplitude 
  1175.                            1011       Envelope Period Fine Tune 
  1176.                            1100       Envelope Period Coarse Tune 
  1177.                            1101       I/O Port A (Output Only) 
  1178.                            1111       I/O Port B 
  1179.  
  1180. ff 8802   W      |xxxxxxxx|   PSG Write Data 
  1181.                   ||||||||       I/O Port A 
  1182.                   ||||||| -------   Floppy Side0/_Side1 Select 
  1183.                   |||||| --------   Floppy _Drive0 Select 
  1184.                   ||||| ---------   Floppy _Drive1 Select 
  1185.                   |||| ----------   RS232 Request To Send 
  1186.                   ||| -----------   RS232 Data Terminal Ready 
  1187.                   || ------------   Centronics _STROBE 
  1188.                   | -------------   General Purpose Output 
  1189.                   --------------   Reserved 
  1190.                   ||||||||       I/O Port B 
  1191.                   --------------   Parallel Interface Data 
  1192.  
  1193. _______ 
  1194. MC68xxx 
  1195.  
  1196. ff fa01                   |xxxxxxxx|   MFP General Purpose I/O 
  1197. ff fa03                   |xxxxxxxx|   MFP Active Edge 
  1198. ff fa05                   |xxxxxxxx|   MFP Data Direction 
  1199. ff fa07                   |xxxxxxxx|   MFP Interrupt Enable A 
  1200. ff fa09                   |xxxxxxxx|   MFP Interrupt Enable B 
  1201. ff fa0b                   |xxxxxxxx|   MFP Interrupt Pending A 
  1202. ff fa0d                   |xxxxxxxx|   MFP Interrupt Pending B 
  1203. ff fa0f                   |xxxxxxxx|   MFP Interrupt In-Service A 
  1204. ff fa11                   |xxxxxxxx|   MFP Interrupt In-Service B 
  1205. ff fa13                   |xxxxxxxx|   MFP Interrupt Mask A 
  1206.  
  1207.  
  1208. ff fa15                   |xxxxxxxx|   MFP Interrupt Mask B 
  1209. ff fa17                   |xxxxxxxx|   MFP Vector 
  1210. ff fa19                   |xxxxxxxx|   MFP Timer A Control 
  1211. ff fa1b                   |xxxxxxxx|   MFP Timer B Control 
  1212. ff fa1d                   |xxxxxxxx|   MFP Timers C and D Ctl 
  1213. ff fa1f                   |xxxxxxxx|   MFP Timer A Data 
  1214. ff fa21                   |xxxxxxxx|   MFP Timer B Data 
  1215. ff fa23                   |xxxxxxxx|   MFP Timer C Data 
  1216. ff fa25                   |xxxxxxxx|   MFP Timer D Data 
  1217. ff fa27                   |xxxxxxxx|   MFP Sync Character 
  1218. ff fa29                   |xxxxxxxx|   MFP USART Control 
  1219. ff fa2b                   |xxxxxxxx|   MFP Receiver Status 
  1220. ff fa2d                   |xxxxxxxx|   MFP Transmitter Status 
  1221. ff fa2f                   |xxxxxxxx|   MFP USART Data 
  1222.  
  1223. ______ 
  1224. MC68xx 
  1225.  
  1226. ff fc00                   |xxxxxxxx|   Keyboard ACIA Control 
  1227. ff fc02                   |xxxxxxxx|   Keyboard ACIA Data 
  1228.  
  1229. ff fc04                   |xxxxxxxx|   MIDI ACIA Control 
  1230. ff fc06                   |xxxxxxxx|   MIDI ACIA Data 
  1231.  
  1232.  
  1233.  
  1234. 10.  Interrupt Table 
  1235.  
  1236.    The  following  tables  list the  ST  interrupt   and   signal 
  1237. priority assignments:
  1238.  
  1239.  
  1240. ----- MC68000 Interrupt Autovector --------------- 
  1241.  
  1242.  --------------- -------------------------------- 
  1243. | Level         | Definition                     | 
  1244.  --------------- -------------------------------- 
  1245. | 7 (HIGHEST)   | NMI                            | 
  1246. | 6             | MK68901 MFP                    | 
  1247. | 5             |                                | 
  1248. | 4             | Vertical Blanking (Sync)       | 
  1249. | 3             |                                | 
  1250. | 2             | Horizontal Blanking (Sync)     | 
  1251. | 1 (LOWEST)    |                                | 
  1252.  --------------- -------------------------------- 
  1253.  
  1254. NOTE:  only interrupt priority level inputs 1 and 2 are used.
  1255.  
  1256.  
  1257. ----- MK68901 Interrupt Control --------------- 
  1258.  
  1259.  --------------- -------------------------------- 
  1260. | Priority      | Definition                     | 
  1261.  --------------- -------------------------------- 
  1262. | 15 (HIGHEST)  | Monochrome Monitor Detect    I7| 
  1263. | 14            | RS232 Ring Indicator         I6| 
  1264. | 13            | System Clock / BUSY          TA| 
  1265. | 12            | RS232 Receive Buffer Full      | 
  1266. | 11            | RS232 Receive Error            | 
  1267. | 10            | RS232 Transmit Buffer Empty    | 
  1268. |  9            | RS232 Transmit Error           | 
  1269. |  8            | Horizontal Blanking Counter  TB| 
  1270. |  7            | Disk Drive Controller        I5| 
  1271. |  6            | Keyboard and MIDI            I4| 
  1272. |  5            | Timer C                      TC| 
  1273. |  4            | RS232 Baud Rate Generator    TD| 
  1274. |  3            | GPU Operation Done           I3| 
  1275. |  2            | RS232 Clear To Send          I2| 
  1276. |  1            | RS232 Data Carrier Detect    I1| 
  1277. |  0 (LOWEST)   | Centronics BUSY              I0| 
  1278.  --------------- -------------------------------- 
  1279.  
  1280. NOTE:   the  MC6850  ACIA Interrupt Request status  bit  must  be 
  1281. tested to differentiate between keyboard and MIDI interrupts.
  1282.  
  1283.  
  1284.  
  1285. 11.   Case DesIgn 
  1286.  
  1287.   
  1288.    The  ST is primarily designed  as  a  keyboard  computer  with 
  1289.  external video display, disk drives, and power supply.
  1290.           
  1291. The top panel contains the keyboard,  ventilation slots (bot- tom 
  1292.  also),   and  power on LED.   The side panels contain the expan-
  1293. sion ROM slot and mouse/joystick ports.   The back panel contains 
  1294.  the  on/off  switch,  reset button, channel select switch, power 
  1295. connector,  and  all  remaining  device  connec-  tors:    video, 
  1296.  parallel, RS232, MIDI, and disk drive inter- faces.
  1297.  
  1298.    The  device ports are labeled with  International  Elec-  tro-
  1299. technical Commission-like symbols in combinations of pic- tograms 
  1300. and phonetic transcriptions (captions).  In the case of MIDI, the 
  1301. specification  explicitly  requires that the MIDI  connectors  be 
  1302. labeled MIDI OUT, MIDI IN, and MIDI  THRU  (if applicable).
  1303.  
  1304.  
  1305. 12.  Power Supply 
  1306.  
  1307.    An external DC power supply provides power to the  main system 
  1308.  board,  keyboard,  expansion ROM, and expansion RAM.
  1309.           
  1310.    All  power levels are regulated for  over-voltage  and   over- 
  1311. current   protection.   The  following are minimal  power  supply 
  1312. specifications:
  1313.  
  1314.  
  1315. AC Input                115 VAC 10% at 60 Hz (fused) 
  1316.  
  1317. DC Output               +5 VDC at 3 A 5% 
  1318.                        +12 VDC at .03 A 10% 
  1319.                        -12 VDC at .03 A 10% 
  1320.  
  1321.  
  1322. ----- Power Port Pin Assignments --------------- 
  1323.  
  1324.   ST                                    DIN 7P 
  1325. ----                                    ---- 
  1326.   1 |<--- +5 VDC ----------------------| 
  1327.   3 |---- Ground ----------------------| 
  1328.   4 |<--- +12 VDC ---------------------| 
  1329.   5 |<--- -12 VDC ---------------------| 
  1330.   6 |<--- +5 VDC ----------------------| 
  1331.   7 |---- Ground ----------------------| 
  1332. ----                                    ---- 
  1333.  
  1334. Appendix A -- ikbd Keyboard Layout 
  1335.  
  1336.    The  surface of the Atari Intelligent Keyboard is formed  from 
  1337.  four  distinct  ergonomic  units:  a QWERTY typewriter matrix, a 
  1338. function key array,  a screen control cluster,  and a  calculator 
  1339. numeric  keypad.   As a whole,  the United States version of  the 
  1340. keyboard  layout is DEC  VT100-like  with  the exception  of  the 
  1341. following items:
  1342.  
  1343.  
  1344. o  removed keys -- [break], [line feed], [no scroll], [set up].
  1345.  
  1346. o  repositioned keys -- [caps lock], cursor control keys, 
  1347.    programmable function keys.
  1348.  
  1349. o  added keys -- [alternate], [help], [undo], [insert], 
  1350.    [clear/home], 10 programmable function keys.
  1351.  
  1352. o  improvements -- DEC VT200-style inverted T cursor control 
  1353.     keys, full calculator function numeric keypad.
  1354.  
  1355.  
  1356.    Please note that the left [shift] key is  intentionally  large 
  1357.  to  allow  space for an extra ISO required key  (see  ISO  2530-
  1358. 1975).    Atari  ikbd  International  Layouts  will   be designed 
  1359. for the following countries:
  1360.  
  1361. o  United Kingdom 
  1362. o  United States 
  1363. o  Finland 
  1364. o  Norway / Denmark 
  1365. o  Sweden 
  1366. o  Japan 
  1367. o  Germany 
  1368. o  French Canada 
  1369. o  France 
  1370. o  Italy 
  1371. o  Spain 
  1372.  
  1373. NOTE:  the 'HELP' and 'UNDO' keys will be left untranslated
  1374.  
  1375.  
  1376. Appendix B -- References 
  1377.  
  1378. General 
  1379.  
  1380.       A Hitchhiker's Guide to the BIOS 
  1381.  
  1382.       Digital Research GEM Software Documentation 
  1383.  
  1384. Main System 
  1385.  
  1386.       Motorola MC68000 16-Bit Microprocessor  User's  Manual, 
  1387.       Fourth Edition 
  1388.  
  1389.       Mostek MK68901 Multi Function Peripheral Data Sheet 
  1390.  
  1391.       Graphics Subsystem 
  1392.  
  1393.       Adele Goldberg and David  Robson,  'Smalltalk-80:   The 
  1394.       Language and Its Implementation', Addison-Wesley, Read- 
  1395.       ing Massachusetts, 1983, Chapter 18.
  1396.  
  1397. Music Subsystem 
  1398.  
  1399.       General Instrument AY-3-8910 Programmable Sound Genera- 
  1400.       tor Data Sheet 
  1401.  
  1402.       MIDI Musical Instrument Digital Interface Specification 
  1403.       1.0 
  1404.  
  1405. Device Subsystems 
  1406.  
  1407.       Atari Intelligent Keyboard (ikbd) Protocol and Specifi- 
  1408.       cation 
  1409.  
  1410.       Motorola MC6850 Asynchronous  Communications  Interface 
  1411.       Adapter Data Sheet 
  1412.  
  1413.       Centronics Parallel Interface Specification 
  1414.  
  1415.       Electronic Industries Association RS232C Standard 
  1416.  
  1417.       Western Digital WD1770/1772 Floppy Disk Controller Data 
  1418.       Sheet 
  1419.  
  1420.       Specification of the Atari  Computer  System  Interface 
  1421.       (ACSI) 
  1422.  
  1423.       Specification of the Atari Hard Disk Interface (AHDI) 
  1424.  
  1425.           
  1426. Appendix C -- Notes 
  1427.  
  1428. General 
  1429.  
  1430. 851125A   An address error occurs when a word instruction is 
  1431.           used on a byte address.
  1432.  
  1433. Main System 
  1434.  
  1435. 841017B   The DMA Base Address and Counter Register must  be 
  1436.           loaded in low, mid, high order.
  1437.  
  1438. Graphics Subsystem 
  1439.  
  1440. 841017C   None.
  1441.  
  1442. Music Subsystem 
  1443.  
  1444. 841017D   The YM-2149 PSG I/O space and registers should  be 
  1445.           set up as critical regions in software.
  1446.  
  1447. Device Subsystems 
  1448.  
  1449.  841017F   Poll or service the Disk Drive  Controller  inter- 
  1450.            rupt on the MK68901 MFP General Purpose I/O Regis- 
  1451.            ter to detect the completion of a WD1772 FDC  com- 
  1452.            mand.   Do  not  poll  the  FDC Busy or DMA Sector 
  1453.            Count Zero status bits.
  1454.  
  1455. 841017G   Select the Sector Count  Register  before  testing 
  1456.                     the DMA Status Register Error bit.
  1457.  
  1458. 841017H   Do not set the 30 ms Settling Delay bit on  WD1772 
  1459.           FDC type 2 and 3 command executions.
  1460.  
  1461. 841017I   A force interrupt should be  issued  after  a  few 
  1462.           seconds  (ie time out) on all commands sent to the 
  1463.           WD1772 FDC.
  1464.  
  1465. 841017J   Wait until the WD1772 FDC Motor On status  is  low 
  1466.           before deselecting a floppy drive.
  1467.  
  1468. 841017K   A floppy disk drive configuration table should  be 
  1469.           maintained  in  software  to accommodate a diverse 
  1470.           selection of 3.5 inch  floppy  disk  drives.   Two 
  1471.           floppy disk drives currently under evaluation have 
  1472.           the following characteristics:
  1473.           o  500 Kbyte unformatted, 80 cylinders, one  head, 
  1474.              3 ms stepping rate.
  1475.           o  1 Mbyte unformatted, 80 cylinders, two heads, 3 
  1476.              ms stepping rate.
  1477.  
  1478.  
  1479. Table of Contents 
  1480.  
  1481.  
  1482. 1.  System Architecture ...............................    1 
  1483.  
  1484. 2.  Main System .......................................    4 
  1485.   2.1.  Microprocessor Unit ...........................    4 
  1486.   2.2.  Memory Configuration ..........................    4 
  1487.   2.3.  Direct Memory Access ..........................    5 
  1488.  
  1489. 3.  Graphics Subsystem ................................    7 
  1490.   3.1.  Video Display Memory ..........................    7 
  1491.   3.2.  Video Configuration ...........................    8 
  1492.  
  1493. 4.  Music Subsystem ...................................   10 
  1494.   4.1.  Sound Synthesizer .............................   10 
  1495.   4.2.  Musical Instrument Communication ..............   10 
  1496.  
  1497. 5.  Device Subsystems .................................   12 
  1498.   5.1.  Intelligent Keyboard ..........................   12 
  1499.   5.2.  Video Interface ...............................   14 
  1500.   5.3.  Parallel Interface ............................   15 
  1501.   5.4.  RS232 Interface ...............................   16 
  1502.   5.5.  MIDI Interface ................................   17 
  1503.   5.6.  Disk Drive Interface ..........................   18 
  1504.  
  1505. 6.  Components ........................................   23 
  1506.  
  1507. 7.  Expansion .........................................   24 
  1508.  
  1509. 8.  Memory Map ........................................   25 
  1510.  
  1511. 9.  I/O Map ...........................................   27 
  1512.  
  1513. 10.  Interrupt Table ..................................   31 
  1514.  
  1515. 11.  Case Design ......................................   32 
  1516.  
  1517. 12.  Power Supply .....................................   33 
  1518.  
  1519. Appendix A -- ikbd Keyboard Layout ....................   34 
  1520.  
  1521. Appendix B -- References ..............................   35 
  1522.    
  1523. Appendix C -- Notes ...................................   36 
  1524.  
  1525.  
  1526.